/**
 * 高德地图采用 GCJ02坐标系：即火星坐标系，是由中国国家测绘局制订的地理信息系统的坐标系统，由WGS84坐标系经加密后的坐标系。
 */

/**
 * 初始化地图
 *
 * @param mapId 地图ID
 * @param center 中心点
 * @param zoom 缩放级别；默认：15，取值范围：PC 3-18 ，移动设备：3-19
 * @return {module.exports.Map}
 */
const initMap = function (mapId, center = [106.478088, 29.670178], zoom = 15) {
  const AMap = window.AMap;
  const map = new AMap.Map(mapId, {
    zoom, // 级别范围 3-18
    center,
    viewMode: '2D' // 使用3D视图
  });

  // 图层
  // 默认情况下，地图只显示标准底图，如需要叠加别的图层，可以通过map.add方法添加图层
  // Traffic 实时路况
  const trafficLayer = new AMap.TileLayer.Traffic({zIndex: 10});
  map.add(trafficLayer);

  // 异步加载插件
  // 工具条，控制地图的缩放、平移等
  AMap.plugin('AMap.ToolBar', function () {
    var toolbar = new AMap.ToolBar();
    map.addControl(toolbar);
  });
  return map;
};

/**
 * 设置中心点
 * @param mapInstance 地图实例
 * @param center 中心点
 */
const setCenter = function (mapInstance, center = [106.478088, 29.670178]) {
  mapInstance.setCenter(center);
};

/**
 * 设置缩放级别
 * @param mapInstance 地图实例
 * @param zoom 缩放级别。默认：15，取值范围：PC 3-18 ，移动设备：3-19
 */
const setZoom = function (mapInstance, zoom = 15) {
  mapInstance.setZoom(zoom);
};

export {
  initMap,
  setCenter,
  setZoom
};

export default {
  initMap,
  setCenter,
  setZoom
};
